<!DOCTYPE html>
<html lang="en">
	<head>
		<link
			rel="icon"
			href='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">⛱️</text></svg>'
		/>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta http-equiv="X-UA-Compatible" content="ie=edge" />
		<title>rstream-spreadsheet · @thi.ng/umbrella</title>
		<link
			href="https://unpkg.com/tachyons@4/css/tachyons.min.css"
			rel="stylesheet"
		/>
		<script>
			window.goatcounter = { path: (p) => location.host + p };
		</script>
		<script
			data-goatcounter="https://thing.goatcounter.com/count"
			async
			src="//gc.zgo.at/count.js"
		></script>
	</head>
	<body class="sans-serif ma3">
		<div id="app" class="overflow-x-scroll"></div>
		<div>
			<a
				class="link"
				href="https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet"
				>Source code</a
			>
		</div>
		<h3>S-expression formula syntax</h3>
		<ul class="lh-copy">
			<li>
				<code class="bg-light-gray">a1</code> /
				<code class="bg-light-gray">a1:c3</code> - cell ID / cell range
				(case insensitive)
			</li>
			<li>
				<code class="bg-light-gray">(* 10 (+ a1 a2:e2))</code> - 10
				times (cell A1 + entire row 2)
			</li>
			<li>
				<code class="bg-light-gray">(min a1:c10)</code> - min value of
				columns A-C
			</li>
			<li>
				<code class="bg-light-gray">(max a1:c10)</code> - max value of
				columns A-C
			</li>
			<li>
				<code class="bg-light-gray">(avg a1:e5)</code> - average value
				of first 5 rows
			</li>
			<li>
				<code class="bg-light-gray">(mag a1:e1)</code> - vector
				magnitude of row 1
			</li>
			<li>
				<code class="bg-light-gray">(abs a1)</code> - absolute value of
				cell A1
			</li>
			<li>
				<code class="bg-light-gray">(fit a1 a2 a3 a4 a5)</code> - fit
				cell value A1 from interval A2-A3 to A4-A5
			</li>
		</ul>
		<script type="module" src="/src/index.ts"></script>
	</body>
</html>
